package cn.lizemin.adapter.version1;

import cn.lizemin.adapter.version1.entity.*;

/**
 * @author lzm
 * @version 1.0
 * @description: 类型适配器，不仅可以用于电视机，还可以用于冰箱（假设冰箱也是只能使用二空插座）
 * @date 2022/4/24 14:41
 */
public class Client {

    /**
     * 由于墙上的接口是三相插孔，而电视机实现的是两相插孔，二者无法匹配, 电视无法通电
     *
     * 解决方法： 引入适配器类
     */
    public static void main(String[] args) {
//        TripPin tv = new TV();
//        DualPin dualPinTV = new TV();
//        TripPin tripPinTV = new TVAdapter(dualPinTV);
//        tripPinTV.electrify("火线","零线","地线");
//
//        System.out.println("--------------");
//        DualPin dualPinFridge = new Fridge();
//        TripPin tripPinFridge = new TVAdapter(dualPinFridge);
//        tripPinFridge.electrify("火线","零线","地线");

        /**
         * 使用对象适配器, 直接使用电视机专属的三孔插座
         */
        TripPin tripPinTV = new TVAdapter();
        tripPinTV.electrify("火线","零线","地线");


    }

}
